﻿using System.Web.UI.WebControls;
using ClickLand.Web.UI.WebControls;

namespace ClickLand.CorporacionPlaza.Presentacion.Contratos.AdministracionCliente
{
    /// <summary> Contrato para la vista que administra los clientes </summary>
    public interface IAdministrarCliente
    {
        /// <summary> Propiedad que retorna el control para el nombre de la busqueda </summary>
        ClickLandExTextBox NombreBusqueda { get; }


        /// <summary> Propiedad que retorna el control que lista los diferentes estados del cliente </summary>
        ClickLandDropDownList Estados { get; }


        /// <summary> Propiedad que retorna el control para lista los clientes que coincidan con los parametros de busqueda </summary>
        ClickLandGridView Clientes { get; }


        /// <summary> Propiedad que retorna el control que maneja las diferentes vistas </summary>
        MultiView Paneles { get; }


        /// <summary> Propiedad que retorna el control que muestra el detalle de un cliente </summary>
        View VistaDetalle { get; }


        /// <summary> Propiedad que retorna el control que muestra el nombre del cliente en la confirmacion </summary>
        ClickLandLabel NombreDetalle { get; }


        /// <summary> Propiedad que retorna el control que muestra el correo de del cliente en la confirmacion </summary>
        ClickLandLabel CorreoDetalle { get; }


        /// <summary> Propiedad que retorna el control que muestra el documento de identificacion del cliente en la confirmacion </summary>
        ClickLandLabel DocumentoIdentificacionDetalle { get; }


        /// <summary> Propiedad que retorna el control que muestra el numero de celular del cliente en la confirmacion </summary>
        ClickLandLabel NumeroCelularDetalle { get; }


        /// <summary> Propiedad que retorna el control que muestra el numero de la oficina del cliente en la confirmacion </summary>
        ClickLandLabel NumeroOficinaDetalle { get; }


        /// <summary> Propiedad que retorna el control que muestra el responsable del cliente en la confirmacion </summary>
        ClickLandLabel Responsable1Detalle { get; }


        /// <summary> Propiedad que retorna el control que muestra el responsable2 del cliente en la confirmacion </summary>
        ClickLandLabel Responsable2Detalle { get; }


        /// <summary> Propiedad que retorna el control que muestra el responsable3 del cliente en la confirmacion </summary>
        ClickLandLabel Responsable3Detalle { get; }


        /// <summary> Propiedad que retorna el control que muestra el tipo de cliente seleccionado </summary>
        ClickLandLabel TipoClienteDetalle { get; }


        /// <summary> Propiedad que retorna el control que muestra los tipos de cliente </summary>
        ClickLandDropDownList TipoCliente { get; }


        /// <summary> Propiedad que retorna el control que lista la cedula </summary>
        ClickLandDropDownList LetraCedulaRif { get; }


        /// <summary> Propiedad que retorna el control donde se indica el nombre del cliente </summary>
        ClickLandExTextBox Nombre { get; }


        /// <summary> Propiedad que retorna el control donde se indica el rif del cliente </summary>
        ClickLandExTextBox CedulaRif { get; }


        /// <summary> Propiedad que retorna el control donde se indica el codigo de area del celular </summary>
        ClickLandDropDownList CodigoAreaCelular { get; }


        /// <summary> Propiedad que retorna el control donde se indica el numero de telefono del celular </summary>
        ClickLandExTextBox TelefonoCelular { get; }


        /// <summary> Propiedad que retorna el control donde se indica el codigo de area de la oficina </summary>
        ClickLandExTextBox CodigoAreaOficina { get; }


        /// <summary> Propiedad que retorna el control donde se indica el numero de telefono de la oficina </summary>
        ClickLandExTextBox TelefonoOficina { get; }


        /// <summary> Propiedad que retorna el control donde se indica el correo electronico</summary>
        ClickLandExTextBox Correo { get; }


        /// <summary> Propiedad que retorna el control que muestra el mensaje de error </summary>
        View VistaError { get; }


        /// <summary> Propiedad que retorna el control que muestra el mensaje de exito </summary>
        View VistaExito { get; }


        /// <summary> Propiedad que retorna el control que muestra los controles para la modificacion </summary>
        View VistaModificacion { get; }


        /// <summary> Propiedad que retorna el control que muestra la vista de confirmacion </summary>
        View VistaConfirmacion { get; }


        /// <summary> Propiedad que retorna el control que indica el nombre del responsable1 </summary>
        ClickLandExTextBox Responsable1 { get; }


        /// <summary> Propiedad que retorna el control que indica el nombre del responsable3 </summary>
        ClickLandExTextBox Responsable2 { get; }


        /// <summary> Propiedad que retorna el control que indica el nombre del responsable3 </summary>
        ClickLandExTextBox Responsable3 { get; }


        /// <summary> Propiedad que retorna el control que muestra el nombre del cliente en la confirmacion </summary>
        ClickLandLabel NombreConfirmacion { get; }


        /// <summary> Propiedad que retorna el control que muestra el correo de del cliente en la confirmacion </summary>
        ClickLandLabel CorreoConfirmacion { get; }


        /// <summary> Propiedad que retorna el control que muestra el documento de identificacion del cliente en la confirmacion </summary>
        ClickLandLabel DocumentoIdentificacionConfirmacion { get; }


        /// <summary> Propiedad que retorna el control que muestra el numero de celular del cliente en la confirmacion </summary>
        ClickLandLabel NumeroCelular { get; }


        /// <summary> Propiedad que retorna el control que muestra el numero de la oficina del cliente en la confirmacion </summary>
        ClickLandLabel NumeroOficina { get; }


        /// <summary> Propiedad que retorna el control que muestra el responsable del cliente en la confirmacion </summary>
        ClickLandLabel Responsable1Confirmacion { get; }


        /// <summary> Propiedad que retorna el control que muestra el responsable2 del cliente en la confirmacion </summary>
        ClickLandLabel Responsable2Confirmacion { get; }


        /// <summary> Propiedad que retorna el control que muestra el responsable3 del cliente en la confirmacion </summary>
        ClickLandLabel Responsable3Confirmacion { get; }


        /// <summary> Propiedad que retorna el control que muestra el tipo de cliente seleccionado </summary>
        ClickLandLabel TipoClienteConfirmacion { get; }


        /// <summary> Propiedad que asigna la visibilidad de los controles segun el tipo de cliente </summary>
        bool EsClienteJuridico { set; }


        /// <summary> Propiedad que obtiene el objeto que lista los contratos del cliente </summary>
        ClickLandGridView ListaContratos { get; }

        string TituloReporte { get; }
    }
}
